This invention relates in general to debugging of programs in a production computing environment, and more particularly, to a facility for screening a program of the computing environment for debug processing upon detection of an instruction trigger point during execution of the program.
Traditional debug facilities allow a programmer to specify an instruction address in storage where the debugger is to stop program execution and examine the environment. This instruction address is referred to as a trigger point. Unfortunately, if the trigger point is outside of the debug path, or is part of operating system code, then debug and system processing performance are degraded by the instruction trigger point causing the system to unnecessarily stop processing. This is particularly troublesome when debugging production application programs, where the debugger function is typically set to trigger on each instruction that is executed and present the execution information back to the user.
Thus, there is a need in the art for a technique to initially differentiate between instructions in the application programs and instructions in the operating system""s service routines that are used by the application programs. It is believed desirable, for performance reasons, to not trigger on instructions in the operating system code.
Briefly summarized, the invention comprises in one aspect, a method of evaluating a program of a computing environment for debugging. The method includes defining a table, wherein the table contains at least one of information identifying at least some areas of main storage of the computing environment where programs to be debugged may reside, or information identifying at least one program of the computing environment to be excluded from debugging. Upon detecting a debug trigger point during execution of the program, the method further includes referencing the table to ascertain at least one of whether the trigger point is within a program area of the storage of the computing environment, or referencing the table to determine whether the trigger point is included within a program to be excluded from debugging.
In an enhanced embodiment, the table contains both information identifying at least some areas of storage of the computing environment where programs to be debugged may reside and information identifying at least one program of the computing environment to be excluded from debugging. In operation, the table is referenced to initially determine whether the executing program is within a program area of main storage where an application program may reside, and if so, the table is referenced again to determine whether the executing program has been excluded from the debug process. If the executing program is outside of areas in storage where application programs may reside, or has been specifically listed for exclusion from debugging, then the debug process is terminated notwithstanding detection of a debug trigger point.
System and computer program products corresponding to the above-summarized methods are also described and claimed.
To restate, presented herein is a facility for screening an executed program upon detection of a debug trigger point in order to eliminate non-application programs from full debug processing. The facility presented herein automatically defines application programs for inclusion in the debug process, thereby relieving a user of the tedious and error prone process of manually keeping track of which processes should be excluded from the debug process. Further, application program areas and/or excluded programs identified in the debug table may be readily modified without changing the basic program evaluation approach or the debug process. The facility herein can be employed with any conventional hooked or hookless debug process.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.